package com.hiinfo.mvpdemo.weather;

import com.hiinfo.mvpdemo.base.bean.BaseObjectBean;
import com.hiinfo.mvpdemo.base.component.BaseView;

import io.reactivex.Flowable;

/**
 * @author lifei
 * @date 2019/6/15.
 * Email：allen.lee723@qq.com
 * Description：
 */
public interface WeatherContract {

    interface Model {
        Flowable<BaseObjectBean<WeatherInfo>> queryWeather();
    }

    interface View extends BaseView {

        @Override
        void showLoading();

        @Override
        void hideLoading();

        @Override
        void onError(Throwable throwable);

        void startLoading();

        void onSuccess(BaseObjectBean<WeatherInfo> bean);

        void endLoading();
    }

    interface Presenter {
        /** 查询天气 */
        void queryWeather();
    }
}
